package top.conangao.common.entity;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.mapstruct.MapperConfig;
import org.mapstruct.MappingConstants;

import java.util.List;

/**
 * @author ConanGao
 * @description BaseConvertor
 * @since 1.0
 **/
@MapperConfig(componentModel = MappingConstants.ComponentModel.SPRING)
public interface BaseConvertor<DTO extends BaseDTO,DO extends BaseDO> {
    DO dto2do(DTO baseDTO);
    DTO do2dto(DO baseDO);
    
    List<DO> dto2do(List<DTO> listDTO);
    List<DTO> do2dto(List<DO> listDO);
    
    Page<DO> dto2do(Page<DTO> pageDTO);
    Page<DTO> do2dto(Page<DO> pageDO);
}
